
package com.crowdfunding.circle.navigate.entity;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;

/**
 * 平台导航实体类
 *
 * @author 朱国军
 * @version 2016年07月02日 朱国军
 */
public class PlatformNavigateVO {
    
    /** 导航ID */
    private String navigateId;
    
    /** 平台名称 */
    private String platformName;
    
    /** 平台logo */
    private String platformLogo;
    
    /** 平台类型 */
    private Integer platformType;
    
    /** 省份 */
    private String platformProvince;
    
    /** 城市 */
    private String platformCity;
    
    /** 网站体验指数 */
    private String platformExperience;
    
    /** 风控人员数量 */
    private String riskControlNum;
    
    /** 项目信息披露 */
    private String projectDisclosure;
    
    /** 投后管理 */
    private String investManager;
    
    /** 项目风险提示 */
    private String projectRiskPrompt;
    
    /** 平台链接 */
    private String platformUrl;
    
    /** 发布人 */
    private String publishUser;
    
    /** 成立时间 */
    private Date setupTime;
    
    /** 创建时间 */
    private Date createTime;
    
    /** 更新时间 */
    private Date updateTime;
    
    /** 状态：0默认，1管理员删除，2用户删除 */
    private Integer dataStatus;
    
    /**
     * 设置导航ID
     *
     * @param navigateId 导航ID
     */
    public void setNavigateId(String navigateId) {
        this.navigateId = navigateId;
    }
    
    /**
     * 获取导航ID
     *
     * @return 导航ID
     */
    public String getNavigateId() {
        return navigateId;
    }
    
    /**
     * 设置平台名称
     *
     * @param platformName 平台名称
     */
    public void setPlatformName(String platformName) {
        this.platformName = platformName;
    }
    
    /**
     * 获取平台名称
     *
     * @return 平台名称
     */
    public String getPlatformName() {
        return platformName;
    }
    
    /**
     * 设置平台logo
     *
     * @param platformLogo 平台logo
     */
    public void setPlatformLogo(String platformLogo) {
        this.platformLogo = platformLogo;
    }
    
    /**
     * 获取平台logo
     *
     * @return 平台logo
     */
    public String getPlatformLogo() {
        return platformLogo;
    }
    
    /**
     * 设置平台类型
     *
     * @param platformType 平台类型
     */
    public void setPlatformType(Integer platformType) {
        this.platformType = platformType;
    }
    
    /**
     * 获取平台类型
     *
     * @return 平台类型
     */
    public Integer getPlatformType() {
        return platformType;
    }
    
    /**
     * 设置省份
     *
     * @param platformProvince 省份
     */
    public void setPlatformProvince(String platformProvince) {
        this.platformProvince = platformProvince;
    }
    
    /**
     * 获取省份
     *
     * @return 省份
     */
    public String getPlatformProvince() {
        return platformProvince;
    }
    
    /**
     * 设置城市
     *
     * @param platformCity 城市
     */
    public void setPlatformCity(String platformCity) {
        this.platformCity = platformCity;
    }
    
    /**
     * 获取城市
     *
     * @return 城市
     */
    public String getPlatformCity() {
        return platformCity;
    }
    
    /**
     * 设置网站体验指数
     *
     * @param platformExperience 网站体验指数
     */
    public void setPlatformExperience(String platformExperience) {
        this.platformExperience = platformExperience;
    }
    
    /**
     * 获取网站体验指数
     *
     * @return 网站体验指数
     */
    public String getPlatformExperience() {
        return platformExperience;
    }
    
    /**
     * 设置风控人员数量
     *
     * @param riskControlNum 风控人员数量
     */
    public void setRiskControlNum(String riskControlNum) {
        this.riskControlNum = riskControlNum;
    }
    
    /**
     * 获取风控人员数量
     *
     * @return 风控人员数量
     */
    public String getRiskControlNum() {
        return riskControlNum;
    }
    
    /**
     * 设置项目信息披露
     *
     * @param projectDisclosure 项目信息披露
     */
    public void setProjectDisclosure(String projectDisclosure) {
        this.projectDisclosure = projectDisclosure;
    }
    
    /**
     * 获取项目信息披露
     *
     * @return 项目信息披露
     */
    public String getProjectDisclosure() {
        return projectDisclosure;
    }
    
    /**
     * 设置投后管理
     *
     * @param investManager 投后管理
     */
    public void setInvestManager(String investManager) {
        this.investManager = investManager;
    }
    
    /**
     * 获取投后管理
     *
     * @return 投后管理
     */
    public String getInvestManager() {
        return investManager;
    }
    
    /**
     * 设置项目风险提示
     *
     * @param projectRiskPrompt 项目风险提示
     */
    public void setProjectRiskPrompt(String projectRiskPrompt) {
        this.projectRiskPrompt = projectRiskPrompt;
    }
    
    /**
     * 获取项目风险提示
     *
     * @return 项目风险提示
     */
    public String getProjectRiskPrompt() {
        return projectRiskPrompt;
    }
    
    /**
     * 设置平台链接
     *
     * @param platformUrl 平台链接
     */
    public void setPlatformUrl(String platformUrl) {
        this.platformUrl = platformUrl;
    }
    
    /**
     * 获取平台链接
     *
     * @return 平台链接
     */
    public String getPlatformUrl() {
        return platformUrl;
    }

    /**
     * 获取成立时间
     *
     * @return 成立时间
     */
    public Date getSetupTime() {
        return setupTime;
    }

    /**
     * 设置成立时间
     *
     * @param setupTime 成立时间
     */
    public void setSetupTime(Date setupTime) {
        this.setupTime = setupTime;
    }

    /**
     * 设置发布人
     *
     * @param publishUser 发布人
     */
    public void setPublishUser(String publishUser) {
        this.publishUser = publishUser;
    }
    
    /**
     * 获取发布人
     *
     * @return 发布人
     */
    public String getPublishUser() {
        return publishUser;
    }
    
    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    /**
     * 获取创建时间
     *
     * @return 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }
    
    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    
    /**
     * 获取更新时间
     *
     * @return 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }
    
    /**
     * 设置状态：0默认，1管理员删除，2用户删除
     *
     * @param dataStatus 状态：0默认，1管理员删除，2用户删除
     */
    public void setDataStatus(Integer dataStatus) {
        this.dataStatus = dataStatus;
    }
    
    /**
     * 获取状态：0默认，1管理员删除，2用户删除
     *
     * @return 状态：0默认，1管理员删除，2用户删除
     */
    public Integer getDataStatus() {
        return dataStatus;
    }
    
    /**
     * 检查字段长度是否超长，检查非空字段是否有值
     *
     * @return 检查提示信息，为null时表示检查通过
     */
    public String valid() {
        if (StringUtils.isNotBlank(platformName) && platformName.length() > 100) {
            return "平台名称值超长，允许输入的最大长度为：100字符";
        }
        
        if (StringUtils.isNotBlank(platformLogo) && platformLogo.length() > 150) {
            return "平台logo值超长，允许输入的最大长度为：150字符";
        }
        
        if (StringUtils.isNotBlank(platformExperience) && platformExperience.length() > 100) {
            return "网站体验指数值超长，允许输入的最大长度为：100字符";
        }
        
        if (StringUtils.isNotBlank(riskControlNum) && riskControlNum.length() > 100) {
            return "风控人员数量值超长，允许输入的最大长度为：100字符";
        }
        
        if (StringUtils.isNotBlank(projectDisclosure) && projectDisclosure.length() > 100) {
            return "项目信息披露值超长，允许输入的最大长度为：100字符";
        }
        
        if (StringUtils.isNotBlank(investManager) && investManager.length() > 100) {
            return "投后管理值超长，允许输入的最大长度为：100字符";
        }
        
        if (StringUtils.isNotBlank(projectRiskPrompt) && projectRiskPrompt.length() > 100) {
            return "项目风险提示值超长，允许输入的最大长度为：100字符";
        }
        
        if (StringUtils.isNotBlank(platformUrl) && platformUrl.length() > 150) {
            return "平台链接值超长，允许输入的最大长度为：150字符";
        }
        
        if (StringUtils.isBlank(platformName)) {
            return "平台名称不能为空";
        }
        
        if (StringUtils.isBlank(platformLogo)) {
            return "平台logo不能为空";
        }
        if (platformType == null) {
            return "平台类型不能为空";
        }
        
        return null;
    }
}
